<a>/*****************************************************
 *
 *    This file is auto generated
 *
 *    SHA1: @ViewBag.Checksum
 *
 *****************************************************/
@{ SAP.BusinessOne.Mackinac.Generator.Model.MBag bag = ViewBag; }
#pragma once
#include <memory>
#include <string>
using std::wstring;
using std::unique_ptr;

//#pragma comment (lib, "mackinac.lib")

@foreach (var ns in bag.Namespaces)
{
    @ns.Key.BeginTag

    foreach (var clz in ns)
    {
    <a>
    /*
     * @clz.Name
     */      
    class @clz.Name
    {
    private:
        @clz.Name ();
    public:
        ~@clz.Name ();
        static @clz.Name& instance();
    public:
        @foreach (var method in clz.Methods)
        {
        <a>@method.ReturnType @method.Name (@method.InputTypes.ToString()) const;</a>
        }
    private:
        static unique_ptr<@clz.Name> s_instance;
        void* m_mediator;
        int m_hash;
    };
    </a>
    }
    
    @ns.Key.EndTag
}
</a>